<?php

class UsuariosController extends AppController {
	
	public $name = 'Usuarios';
	public $uses = array("Usuario","Profesor");
	
	function index() {
		$this->layout = "login";
		if (!empty($this->data)){
        	$someone = $this->Usuario->findByUsuario($this->data['Usuario']['usuario']);
        	if(!empty($someone['Usuario']['clave']) && $someone['Usuario']['clave'] == md5($this->data['Usuario']['clave'])){
            	$this->Session->write('Usuario', $someone['Usuario']);                           
                if($someone['Usuario']['rol'] == 0){
                	$this->redirect(array('controller'=>'Usuarios','action'=>'listardocentes'),null,true);
                } elseif ($someone['Usuario']['rol'] == 1) {
                	$this->redirect(array('controller'=>'Profesores','action'=>'listarlectivasistemas'),null,true);
                }else{
                	$this->redirect(array('controller'=>'Profesores','action'=>'cargalectiva'),null,true);
                }
			} else {
					$this->Session->setFlash('Usuario o clave incorrecta');  
            		$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
			}
		}
	}
	
	function admin(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
	}
	function escuela(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
	}
	
	function _verificarUsuario(){
       //Verificamos que exista alguna sesion abierta
		if($this->Session->check("Usuario") == false){
                       $this->Session->setFlash('Debe estar logueado');                        
                       $this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}                
	}
	
	function listardocentes(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$profesores = $this->Profesor->find("all");
		$usuarios = $this->Usuario-> find("all");
		$this->set("profesores",$profesores);
		$this->set("usuarios",$usuarios);
	}
		
	function cuentas(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Usuario.rol'] = 2;
		$usuarios = $this->Usuario->find("all",array("conditions"=>$conditions));
		$this->set("usuarios", $usuarios);	
		
		$profesores = $this->Profesor->find("all");
		$this->set("profesores", $profesores);		
	}
	
	function detalle(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$id = $this->params["url"]["id"];
		$usuario = $this->Usuario->findById($id);
		$this->set('usuario',$usuario);	
		
		if(!empty($this->data)){
				$dataUsuario=  $this->data;	
				$id = $dataUsuario["Usuario"]["id"];
				
				$original = $dataUsuario["Usuario"]["clave"];
				$verifica = $dataUsuario["Usuario"]["repetida"];
				
				
				if($original == $verifica){
				 	if($original == ""){
				 	 	$usu = $this->Usuario->findById($id);
				 	 	$dataUsuario["Usuario"]["clave"] = $usu["Usuario"]["clave"];
						
					}else{
				 	 	$dataUsuario["Usuario"]["clave"]= md5($original);
				 	}	 
				}else{ 
				 	$dataUsuario["Usuario"]["clave"]= "";
				}
													
				if($this->Usuario->save($dataUsuario["Usuario"])){
					$this->Session->setFlash('Los datos de la cuenta ha sido actualizada');
					$this->redirect(array('controller'=>'Usuarios','action'=>'cuentas'),null,true);
					
				}else{
					$this->Session->setFlash('Los datos del docente no fueron registrados. Inténtelo de nuevo');
				}
		}
	}
}

?>